package br.com.hstar.client.cliente.cartaofidelidade;

import java.util.Date;

import br.com.hstar.client.cliente.cliente.ClienteUI;
import br.com.hstar.client.util.KeyValue;

import com.google.gwt.user.client.rpc.IsSerializable;

public class CartaoFidelidadeUI implements IsSerializable, KeyValue {

	
    private Long id;
    private ClienteUI cliente;    
    private Date dataAquisicao;
    private Integer pontuacao;
    private Date dataUltimoPonto;
	
	
	//o ID sempre deve vir primeiro, por causa da ordem
	//que os atributos irao ser listados na consulta
	private static final String[] columns = {
					"Id", 
					"Cliente",					
					};

	public CartaoFidelidadeUI() {

	}

	
	// gets e sets------------------------



	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}



	public Long getKey() {
		return getId();
	}

	public static String[] getColumns() {
		return columns;
	}

	public ClienteUI getCliente() {
		return cliente;
	}

	public void setCliente(ClienteUI cliente) {
		this.cliente = cliente;
	}

	public Date getDataAquisicao() {
		return dataAquisicao;
	}

	public void setDataAquisicao(Date dataAquisicao) {
		this.dataAquisicao = dataAquisicao;
	}

	public Date getDataUltimoPonto() {
		return dataUltimoPonto;
	}

	public void setDataUltimoPonto(Date dataUltimoPonto) {
		this.dataUltimoPonto = dataUltimoPonto;
	}

	public Integer getPontuacao() {
		return pontuacao;
	}

	public void setPontuacao(Integer pontuacao) {
		this.pontuacao = pontuacao;
	}
	
	//Esse método é usado para passar os parametros desse
	//objeto para as listas.
	public String getValue(int position) {
		if(position == 0) {
			return getId().toString();
		} else if(position == 1) {
			return getCliente().getNome();
		} else {
			return null;
		}
	}

}
